로딩 중이에요... 🐣
[코담]
웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트
Pandas Part2 데이터처리 및 변형실전 | ✅ 편저: 코담 운영자
📖 데이터 분석의 시작, Pandas 완전 정복 - Part 2: 데이터 처리 및 변형 실전
✨ 서론: 데이터 전처리의 중요성
데이터 분석에서 전처리는 전체 과정의 70%를 차지한다고 해도 과언이 아닙니다. Pandas는 결측치 처리, 데이터 타입 변환, 그룹화 및 병합 등 강력한 데이터 변형 기능을 제공합니다.
💡 실무 팁: 전처리 단계에서 데이터를 얼마나 깔끔하게 정리하느냐가 모델링 결과를 좌우합니다.
🧹 결측치와 중복 처리
🔥 결측치 탐색 및 처리
# 결측치 확인
df.isnull().sum()
# 결측치 제거
df_clean = df.dropna()
# 결측치 대체 (평균으로)
df['Salary'].fillna(df['Salary'].mean(), inplace=True)
📦 중복 데이터 제거
df.drop_duplicates(inplace=True)
💡 실무 팁: 결측치와 중복 제거는 데이터 손실을 최소화하면서 신중히 처리해야 합니다.
🔄 데이터 타입 변환 및 컬럼 처리
데이터 타입 변환
# Salary 컬럼을 float으로 변환
df['Salary'] = df['Salary'].astype(float)
컬럼 추가 및 삭제
# 세금 공제 후 급여 컬럼 추가
df['NetSalary'] = df['Salary'] * 0.9
# 불필요한 컬럼 삭제
df.drop('Department', axis=1, inplace=True)
📊 데이터 정렬과 인덱스 조작
데이터 정렬
# Salary 기준 내림차순 정렬
df.sort_values(by='Salary', ascending=False, inplace=True)
인덱스 재설정 및 설정
# 인덱스 초기화
df.reset_index(drop=True, inplace=True)
# Name 컬럼을 인덱스로 설정
df.set_index('Name', inplace=True)
💡 실무 팁: 인덱스를 전략적으로 설정하면 데이터 선택과 병합 시 편리합니다.
📚 그룹화 및 집계
GroupBy 사용 예제
# 부서별 평균 급여 계산
df.groupby('Department')['Salary'].mean()
여러 집계 함수 적용
df.groupby('Department').agg({'Salary': ['mean', 'max', 'min']})
피벗 테이블 생성
df.pivot_table(values='Salary', index='Department', columns='Gender', aggfunc='mean')
💡 실무 팁: PivotTable은 Excel 사용자에게 친숙한 기능으로, Pandas에서는 훨씬 유연하게 사용할 수 있습니다.
🔗 데이터 병합 및 결합
데이터프레임 병합 (Merge)
pd.merge(df1, df2, on='EmployeeID', how='inner')
데이터프레임 연결 (Concat)
pd.concat([df1, df2], axis=0)
💡 실무 팁: 병합 시 KeyError가 발생하면 병합 기준 컬럼의 데이터 타입이 일치하는지 확인하세요.
📌 마무리 및 다음 편 예고
이번 Part 2에서는 Pandas의 데이터 처리 및 변형 기능을 집중적으로 다뤘습니다. 다음 Part 3에서는 실전 데이터셋으로 탐색적 데이터 분석(EDA)을 수행하며 지금까지 배운 내용을 종합적으로 적용해볼 것입니다.